<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class jx_reporteIngresosEgresos extends CI_Controller {

    private $establecimiento;

    public function __construct() {
        parent::__construct();
        session_start();
        $this->load->model('_productoM');
        $this->establecimiento = $_SESSION["establecimiento"]["id_establecimiento"];
    }

    public function crearReporteIngresos() {
        if (!empty($_POST)) {
            $cons = $this->getRestriccionFecha("vps", $_POST);
            $query = "SELECT date_format(vps.fecha,'%d/%m/%Y') as fecha,ps.nombre as descripcion,SUM(vps.total_venta) as valor
                      FROM producto_servicio ps,producto_x_venta pv, venta_producto_servicio vps
                      WHERE ps.id_servicio=pv.id_servicio AND vps.id_venta_servicio=pv.id_venta_servicio AND $cons
                      AND ps.id_establecimiento={$this->establecimiento}   
                      AND vps.tipo='Extra'
                      GROUP BY date_format(vps.fecha,'%d/%m/%Y'),ps.nombre
                      ORDER BY fecha DESC";
            // echo $query; return;
            $ingresos = $this->_productoM->query($query);
            $response['registro'] = array();
            $response['total'] = $i = 0;
            foreach ($ingresos as $ingreso) {
                $response['registro'][$i]['fecha'] = $ingreso->fecha;
                $response['registro'][$i]['descripcion'] = $ingreso->descripcion;
                $response['registro'][$i]['valor'] = (float) $ingreso->valor;
                $response['total']+=$ingreso->valor;
                $i++;
            }
            $data['ingresos']=$response;
            echo json_encode($data);
        }
    }

    public function crearReporteEgresos() {
        if (!empty($_POST)) {
            $cons = $this->getRestriccionFecha("ir", $_POST);
            $query = "SELECT 'Ingreso-Hospedaje' as descripcion, ir.fecha,ir.valor,cuarto.nombre, cat.nombre as categoria
FROM
reserva AS r , ingreso_reserva AS ir , reserva_x_cuarto , cuarto, categoria cat
WHERE
cat.id_categoria=cuarto.id_categoria AND
r.id_reserva = ir.id_reserva AND
r.id_reserva = reserva_x_cuarto.id_reserva AND r.id_establecimiento='{$this->establecimiento}' AND reserva_x_cuarto.id_cuarto = cuarto.id_cuarto AND $cons
ORDER BY
ir.fecha ASC";
            $ingresos = $this->_productoM->query($query);
            //  echo json_encode($ingresos);
            // exit;
            $egresos['registro'] = array();
            $egresos['total'] = $i = 0;
            foreach ($ingresos as $ingreso) {
                $egresos['registro'][$i]['fecha'] = $ingreso->fecha;
                $egresos['registro'][$i]['habitacion'] = "<em class='text-info'>{$ingreso->categoria}: </em>{$ingreso->nombre}";
                $egresos['registro'][$i]['valor'] = (float) $ingreso->valor;
                $egresos['total']+=$ingreso->valor;
                $i++;
            }
            $data['egresos'] = $egresos;
            echo json_encode($data);
        }
    }

    private function getRestriccionFecha($tabla, $data) {
        $this->formatoFechaBD($data['desde']);
        $this->formatoFechaBD($data['hasta']);

        $cons = "";

        if ($data['desde'] != "") {
            $cons.="date_format({$tabla}.fecha,'%Y-%m-%d')>='{$data['desde']}' AND ";
        }
        if ($data['hasta'] != "") {
            $cons.="date_format({$tabla}.fecha,'%Y-%m-%d')<='{$data['hasta']}' AND";
        }

        return $cons . " TRUE ";
    }

}

?>
